Micron Document
____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|


The NomadNet German Wikipedia | Archives | Info
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b

πŸ” Search

Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―

JSX (JavaScript)
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
JSX (JavaScript Syntax Extension oder gelegentlich JavaScript XML) ist eine Syntax-Erweiterung fΓΌr JavaScript (Syntaktischer Zucker).cite-ref-4[4] JSX wurde fΓΌr das Framework React entwickelt und wird als Auszeichnungssprache fΓΌr Komponenten verwendet.

Contents

β€’ Syntax
β€’ Attribute
β€’ Props in JSX
β€’ Vue
β€’ TSX
β€’ Siehe auch

──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Syntax

JSX ist in seiner Syntax Γ€hnlich zu Hypertext Markup Language, wie das folgende Beispiel zeigt:cite-ref-5[5]

const user = "Max Mustermann";
const element = (
<div>
<h1 className="greeting">Hallo, {user}</h1>
<a href="https://www.reactjs.org">link</a>
</div>
);

Beim Übersetzen von JSX wird daraus der folgende React-JavaScript-Code mit erzeugt:cite-ref-6[6]

const user = "Max Mustermann";
const element = React.createElement("div", {}, [
React.createElement("h1", { className: "greeting" }, ["Hallo, ", user]),
React.createElement("a", { href: "https://www.reactjs.org" }, ["link"])
]);

Der folgende Beispielcode zeigt, wie man JSX in React mittels ReactDOM.render() einbetten kann.cite-ref-7[7]cite-ref-8[8]cite-ref-9[9]

const name = 'Max Mustermann';
const element = <h1>Hallo, {name}</h1>;
ReactDOM.render(
element,
document.getElementById('root')
);

Attribute

Man benutzt meistens AnfΓΌhrungszeichen um string-Literale als Attribute zu verwenden:

const element = <a href="https://www.wikipedia.org"> link </a>;

Ebenfalls kann man geschweifte Klammern verwenden, um JavaScript-AusdrΓΌcke in ein Attribut einzubinden:

const element = <img src={user.avatarUrl}></img>;

Sicherheit (XSS)

JSX verhindert Injection-Attacken wie Cross-Site-Scripting (XSS). Es ist sicher, Benutzereingaben wie diese einzubetten:

const title = response.potentiallyMaliciousInput;
// Dies ist sicher:
const element = <h1>{title}</h1>;

StandardmÀßig entschlüsselt React DOM alle in JSX eingebetteten Werte, bevor sie gerendert werden. Alles wird in eine Zeichenkette konvertiert, bevor es gerendert wird.cite-ref-10[10]

Props in JSX

Man kann einen beliebigen JavaScript-Ausdruck als Prop ΓΌbergeben, indem man ihn mit {} umgibt. Zum Beispiel in diesem Code:

<MyComponent foo={1 + 2 + 3 + 4} />

FΓΌr MyComponent wird der Wert von props.foo 10 sein, weil der Ausdruck 1 + 2 + 3 + 4 ausgewertet wird.

if-Anweisungen und for-Schleifen sind in JavaScript keine AusdrΓΌcke (sondern Anweisungen), daher kΓΆnnen sie in JSX nicht direkt verwendet werden.cite-ref-11[11]cite-ref-12[12]

Vue

Das Framework Vue.js verwendet eine eigene Auszeichnungssprache, kann aber auf Wunsch mit JSX verwendet werden.cite-ref-13[13]

TSX

Zur Verwendung von JSX mit TypeScript wird die Dateierweiterung .tsx verwendet.cite-ref-14[14]

Siehe auch

β€’ React

Einzelnachweise

cite-note-72c6d2f6dd0a574d-11. web.archive.org.
cite-note-bf2c044dd45d9272-22. facebook.github.io.
cite-note-710f1be3900b8a8b-33. facebook.github.io.
cite-note-44. ↑ EinfΓΌhrung in JSX – React. Abgerufen am 10. Juni 2022 (englisch).
cite-note-55. ↑ JSX. In: facebook.github.io/jsx. 4. August 2022, abgerufen im Dezember 2022 (englisch).
cite-note-66. ↑ React.createElement
cite-note-77. ↑ t3n – digital pioneers | Was ist JSX und wofΓΌr braucht man das? Abgerufen am 10. Juni 2022.
cite-note-88. ↑ What is JSX? How to use JavaScript with React? – Let's React. Abgerufen am 10. Juni 2022 (amerikanisches Englisch).
cite-note-99. ↑ EinfΓΌhrung in JSX – React. Abgerufen am 10. Juni 2022 (englisch).
cite-note-1010. ↑ What is JSX and why to use it? Abgerufen am 10. Juni 2022 (englisch).
cite-note-1111. ↑ Components and Props – React. Abgerufen am 10. Juni 2022 (englisch).
cite-note-1212. ↑ JSX In Depth – React. Abgerufen am 10. Juni 2022 (englisch).
cite-note-1313. ↑ Render Functions & JSX. In: Vue.js. Abgerufen im Dezember 2022 (englisch).
cite-note-1414. ↑ JSX. In: TypeScript Handbook. Abgerufen im Dezember 2022 (englisch).